#ifndef BLOQUEMEMORIA_H_
#define BLOQUEMEMORIA_H_

#include <stdio.h>
#include <string.h>
#include "Bloque.h"
#include "../Compuesto.h"
#include "../../exceptions/NullPointerException.h"
#include "../../exceptions/CompuestoException.h"
#include "../../exceptions/MemoryStorageException.h"


class BloqueMemoria : public Bloque{
	private:
		char *bloque;
		void escribo();
	public:
		BloqueMemoria(TipoMemoria tipoMemoria, int tamanio, int id, void* accesoMemoria);
		void getAccesoDato(void **accesoDato);
		void addComponente(ComponenteAlmacenamiento *componente);
		void leer(char **bloqueLeido, TipoSerializacion modo);
		void escribir(void *accesoDisco, TipoSerializacion modo);
		void escribir(void *accesoDisco, Dato *dato, TipoSerializacion modo);
		void escribir(TipoSerializacion modo);
		void borrar();
		virtual ~BloqueMemoria();
};

#endif /*BLOQUEMEMORIA_H_*/
